Nearly every computer system maintains a clock that tracks hours, minutes, seconds, day, month, and year. This is typically done in a real time clock module, such as the RTC-62421 available from Epson America, Inc., or the MC146818 available from Motorola, Inc. These clock modules run from battery power, thus they maintain date and time even though the computer system is turned off. Typically, these modules use binary coded decimal format to provide the date and time to the computer system. These clock modules are very sophisticated in that they include a calendar so that they can correctly increment the month based on how many days are in each month, they correct the date in leap years, etc.
One problem with this type of system is that several read operations are necessary in order to extract all the date and time information from the module, because of the number of bytes of data needed to hold the complete date and time. Thus, between reads of various parts of the information, the information may be updated, so that by the time all the information is collected, it is outdated. Another problem with this type of clock module is that some operating systems keep track of the date and time as a number of seconds since a previous fixed date and time. For example, the Unix operating system keeps track of date and time as a binary number of seconds since Jan. 1, 1970, and the MSDOS operating system, used in IBM personal computers, measures date and time in seconds from Jan. 1, 1980. Thus, in either of these systems, the binary coded decimal form at supplied by the real time clock module must be converted to a pure binary integer by software within the operating system.
Another prior art solution to keeping date and time is to interrupt the processor with a 60 Hz interrupt, as was done in the original IBM PC, and allow a software process within the operating system to maintain the date and time of day. An obvious drawback to this solution is the amount of processor cycles required simply to maintain the date and time.
There is need in the art then for a system that maintains a binary count of date and time, rather than binary coded decimal. There is further need in the art for such a system that relieves software within the host operating system from the necessity of maintaining the date and time. The present invention meets these and other needs in the art.